package com.hr.system.service;

import com.hr.common.retrun.R;
import com.hr.emp.param.EmpAdd;
import com.hr.emp.param.EmpPage;
import com.hr.system.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hr.system.entity.dto.SysUserDto;
import com.hr.system.entity.vo.LoginUser;
import com.hr.system.entity.vo.SysUserVO;

import javax.servlet.ServletOutputStream;
import java.io.InputStream;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hr
 * @since 2024-04-19
 */
public interface SysUserService {

    LoginUser login(SysUser sysUser);

    List<SysUserDto> getList(SysUser sysUser);
    List<SysUser> getLeaderList(SysUserDto sysUserDto);

    Integer add(SysUserVO sysUserVO);

    Integer update(SysUserVO sysUserVO);

    Integer delete(Integer id);

    Integer deleteMult(List<Integer> ids);

//    void exportExcel(SysUser sysUser, ServletOutputStream outputStream);
    Integer changeState(Integer id, Integer state);

//    R importExcel(InputStream inputStream);

    /**
     * 分页查询员工列表
     */
    R getEmpList(EmpPage empPage);

    /**
     * 根据id查询员工
     * @param id
     * @return
     */
    R getById(Integer id);

    R<String> add(EmpAdd empAdd);

    R importExcel(InputStream inputStream);

    void exportExcel(SysUser sysUser, ServletOutputStream outputStream);
}
